var overlay = Titanium.UI.createView();		//view a colocar encima del preview de la cámara
var imagen = Ti.UI.createImageView();
var currentTime = 10;					  	//tiempo inicial del contador
var countdown = Titanium.UI.createLabel({ 	//estilo del contador
	color: '#900',
 	font: { fontSize:48 },
 	shadowColor: '#aaa',
  	shadowOffset: {x:5, y:5},
  	shadowRadius: 3,
  	text: 'A simple label',
  	textAlign: Ti.UI.TEXT_ALIGNMENT_CENTER});

var TakePicture = function() {
	$.win.addEventListener("open", takePhoto);				//abrir cámara automáticamente
	$.win.addEventListener('pictureTaken', sendPicture);   //envío al server, de forma representativa
};

function sendPicture(image) { //lógica de envío al server (hardcode, por ahora)
	alert("sending");
}

function setupOverlayCounter() { //lógica del contador
	countdown.setText(currentTime);
	overlay.add(countdown);
	var countdownId = setInterval(function() {
		if (currentTime < 1) {//cuando llega a 0, se toma la foto
			Titanium.Media.takePicture();
			clearInterval(countdownId);
		} else {
			currentTime -= 1;
			countdown.setText(currentTime); //se va restando el tiempo
		};
	}, 1000);
}

function takePhoto() {//función para manejar la cámara (abrirla y colocarle el contador)
	var myWin = $.win;
	Titanium.Media.showCamera({
		success : function(event) {
			if (event.mediaType == Ti.Media.MEDIA_TYPE_PHOTO) {
				var imageView = Ti.UI.createImageView({
					left : 10,
					width : 250,
					height : 250,
					image : event.media
				});
				imagen = imageView;
				$.win.add(imagen);
				Titanium.Media.hideCamera();
				$.win.fireEvent('pictureTaken');
				
			} else {
				alert("got the wrong type back =" + event.mediaType);
			}
		},
		cancel : function() {
			alert("cancelaste");
		},
		error : function(error) {
			// called when there's an error
			var a = Titanium.UI.createAlertDialog({
				title : 'Camera'
			});
			if (error.code == Titanium.Media.NO_CAMERA) {
				a.setMessage('Please run this test on device');
			} else {
				a.setMessage('Unexpected error: ' + error.code);
			}
			a.show();
		},
		overlay : overlay,
		autohide : false,
		showControls : false,
		mediaTypes : Ti.Media.MEDIA_TYPE_PHOTO,
		saveToPhotoGallery : false
	});
	
	setupOverlayCounter(); //activar el contador
}

$.view = new TakePicture();